
 <!DOCTYPE HTML>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  
    <title>Modbus通讯协议简明教程 | xiaotao&#39;s Blog</title>
    <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
    
    <meta name="author" content="xiaotao">
    

    
    <meta name="description" content="Modbus&amp;#x901A;&amp;#x8BAF;&amp;#x534F;&amp;#x8BAE;&amp;#x7B80;&amp;#x660E;&amp;#x6559;&amp;#x7A0B;

&amp;#x53D8;&amp;#x66F4;&amp;#x8BB0;&amp;#x5F55;
2016&amp;#x5E74;3&amp;#x6708;16&amp;#x65E5;  - &amp;#x521D;&amp;#x7A3F;
&amp;#x9605;&amp;#x8BFB;&amp;#x539F;&amp;#x6587;  - http:/">
<meta property="og:type" content="article">
<meta property="og:title" content="Modbus通讯协议简明教程">
<meta property="og:url" content="http://xiaotao.ml/post/modbus/index.html">
<meta property="og:site_name" content="xiaotao's Blog">
<meta property="og:description" content="Modbus&amp;#x901A;&amp;#x8BAF;&amp;#x534F;&amp;#x8BAE;&amp;#x7B80;&amp;#x660E;&amp;#x6559;&amp;#x7A0B;

&amp;#x53D8;&amp;#x66F4;&amp;#x8BB0;&amp;#x5F55;
2016&amp;#x5E74;3&amp;#x6708;16&amp;#x65E5;  - &amp;#x521D;&amp;#x7A3F;
&amp;#x9605;&amp;#x8BFB;&amp;#x539F;&amp;#x6587;  - http:/">
<meta property="og:image" content="http://7xry3g.com1.z0.glb.clouddn.com/modbus_multipleM+S.gif">
<meta property="og:updated_time" content="2016-04-06T05:24:49.623Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Modbus通讯协议简明教程">
<meta name="twitter:description" content="Modbus&amp;#x901A;&amp;#x8BAF;&amp;#x534F;&amp;#x8BAE;&amp;#x7B80;&amp;#x660E;&amp;#x6559;&amp;#x7A0B;

&amp;#x53D8;&amp;#x66F4;&amp;#x8BB0;&amp;#x5F55;
2016&amp;#x5E74;3&amp;#x6708;16&amp;#x65E5;  - &amp;#x521D;&amp;#x7A3F;
&amp;#x9605;&amp;#x8BFB;&amp;#x539F;&amp;#x6587;  - http:/">
<meta name="twitter:image" content="http://7xry3g.com1.z0.glb.clouddn.com/modbus_multipleM+S.gif">

    
    <link rel="alternative" href="/atom.xml" title="xiaotao&#39;s Blog" type="application/atom+xml">
    
    
    <link rel="icon" href="/img/favicon.ico">
    
    
    <link rel="apple-touch-icon" href="/img/jacman.jpg">
    <link rel="apple-touch-icon-precomposed" href="/img/jacman.jpg">
    
    <link rel="stylesheet" href="/css/style.css">
</head>

  <body>
    <header>
      
<div>
		
			<div id="imglogo">
				<a href="/"><img src="/img/logo.png" alt="xiaotao&#39;s Blog" title="xiaotao&#39;s Blog"/></a>
			</div>
			
			<div id="textlogo">
				<h1 class="site-name"><a href="/" title="xiaotao&#39;s Blog">xiaotao&#39;s Blog</a></h1>
				<h2 class="blog-motto">小涛的博客 —— 成长留下烙印、分享获得快乐！</h2>
			</div>
			<div class="navbar"><a class="navbutton navmobile" href="#" title="菜单">
			</a></div>
			<nav class="animated">
				<ul>
					<ul>
					 
						<li><a href="/">主页 | Home</a></li>
					
						<li><a href="/archives">归档 | Archives</a></li>
					
						<li><a href="/about">简介 | About</a></li>
					
					<li>
 					
					<form class="search" action="//google.com/search" method="get" accept-charset="utf-8">
						<label>Search</label>
						<input type="search" id="search" name="q" autocomplete="off" maxlength="20" placeholder="搜索" />
						<input type="hidden" name="q" value="site:xiaotao.ml">
					</form>
					
					</li>
				</ul>
			</nav>			
</div>
    </header>
    <div id="container">
      <div id="main" class="post" itemscope itemprop="blogPost">
  
	<article itemprop="articleBody"> 
		<header class="article-info clearfix">
  <h1 itemprop="name">
    
      <a href="/post/modbus/" title="Modbus通讯协议简明教程" itemprop="url">Modbus通讯协议简明教程</a>
  </h1>
  <p class="article-author">By
       
		<a href="/about" title="xiaotao" target="_blank" itemprop="author">xiaotao</a>
		
  <p class="article-time">
    <time datetime="2016-03-17T05:21:56.000Z" itemprop="datePublished"> 发表于 2016-03-17</time>
    
  </p>
</header>
	<div class="article-content">
		
		<div id="toc" class="toc-article">
			<strong class="toc-title">文章目录</strong>
		
			<ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#modbus通讯协议简明教程"><span class="toc-number">1.</span> <span class="toc-text">Modbus通讯协议简明教程</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#变更记录"><span class="toc-number">1.1.</span> <span class="toc-text">变更记录</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#简介"><span class="toc-number">1.2.</span> <span class="toc-text">简介</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#设计一款通讯协议"><span class="toc-number">1.3.</span> <span class="toc-text">设计一款通讯协议</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#1控制开关灯"><span class="toc-number">1.3.1.</span> <span class="toc-text">1.控制开关灯</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2控制多盏灯"><span class="toc-number">1.3.2.</span> <span class="toc-text">2.控制多盏灯</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#3控制灯的明暗程度"><span class="toc-number">1.3.3.</span> <span class="toc-text">3.控制灯的明暗程度</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4读取光照传感器的值"><span class="toc-number">1.3.4.</span> <span class="toc-text">4.读取光照传感器的值</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#modbus通讯协议数据帧"><span class="toc-number">1.4.</span> <span class="toc-text">Modbus通讯协议数据帧</span></a></li></ol></li></ol>
		
		</div>
		
		<p><img src="http://7xry3g.com1.z0.glb.clouddn.com/modbus_multipleM+S.gif" alt="Modbus&#x534F;&#x8BAE;"></p>
<h1 id="modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x7B80;&#x660E;&#x6559;&#x7A0B;">Modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x7B80;&#x660E;&#x6559;&#x7A0B;</h1>
<hr>
<h2 id="&#x53D8;&#x66F4;&#x8BB0;&#x5F55;">&#x53D8;&#x66F4;&#x8BB0;&#x5F55;</h2>
<p>2016&#x5E74;3&#x6708;16&#x65E5;  - &#x521D;&#x7A3F;</p>
<p>&#x9605;&#x8BFB;&#x539F;&#x6587;  - <a href="http://xiaotao.ml/post/modbus/">http://xiaotao.ml/post/modbus/</a></p>
<p>&#x6269;&#x5C55;&#x9605;&#x8BFB;</p>
<ul>
<li>Modbus&#x534F;&#x8BAE;&#x53C2;&#x8003;&#x6307;&#x5357;&#xFF08;&#x82F1;&#x6587;&#x539F;&#x7248;)&#xFF1A;<a href="http://7xry3g.com1.z0.glb.clouddn.com/PI_MBUS_300.pdf" target="_blank" rel="external">PI_MBUS_300.pdf</a></li>
</ul>
<h2 id="&#x7B80;&#x4ECB;">&#x7B80;&#x4ECB;</h2>
<p>Modbus&#x662F;&#x4E00;&#x79CD;&#x4E32;&#x884C;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#xFF0C;&#x8BDE;&#x751F;&#x4E8E;1979&#x5E74;&#xFF0C;&#x6700;&#x521D;&#x662F;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;PLC&#x4E4B;&#x95F4;&#x7684;&#x901A;&#x8BAF;&#x95EE;&#x9898;&#x800C;&#x53D1;&#x8868;&#x7684;&#x3002;&#x76EE;&#x524D;Modbus&#x662F;&#x5DE5;&#x4E1A;&#x901A;&#x8BAF;&#x9886;&#x57DF;&#x7684;&#x4E1A;&#x754C;&#x6807;&#x51C6;&#xFF0C;&#x662F;&#x5DE5;&#x63A7;&#x9886;&#x57DF;&#x6700;&#x5E38;&#x7528;&#x7684;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x4E4B;&#x4E00;&#x3002;&#x76F8;&#x4FE1;&#x6B63;&#x5728;&#x770B;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x7684;&#x60A8;&#x5DF2;&#x7ECF;&#x5BF9;Modbus&#x534F;&#x8BAE;&#x6709;&#x4E00;&#x5B9A;&#x7684;&#x4E86;&#x89E3;&#xFF0C;&#x4E0B;&#x9762;&#x5C31;&#x8BA9;&#x6211;&#x4EEC;&#x5F00;&#x59CB;&#x4E3B;&#x9898;&#xFF0C;&#x804A;&#x4E00;&#x804A;Modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x7684;&#x5DE5;&#x4F5C;&#x539F;&#x7406;&#x3002;</p>
<h2 id="&#x8BBE;&#x8BA1;&#x4E00;&#x6B3E;&#x901A;&#x8BAF;&#x534F;&#x8BAE;">&#x8BBE;&#x8BA1;&#x4E00;&#x6B3E;&#x901A;&#x8BAF;&#x534F;&#x8BAE;</h2>
<p>&#x901A;&#x8BAF;&#x5373;&#x6570;&#x636E;&#x7684;&#x4EA4;&#x4E92;&#xFF0C;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x89C4;&#x5B9A;&#x4E86;&#x4E00;&#x79CD;&#x901A;&#x8BAF;&#x7684;&#x89C4;&#x5219;&#xFF0C;&#x7C7B;&#x4F3C;&#x4E8E;&#x4EBA;&#x7C7B;&#x4EA4;&#x6D41;&#x4F7F;&#x7528;&#x7684;&#x8BED;&#x8A00;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x89E3;&#x91CA;&#x53EF;&#x80FD;&#x8FC7;&#x4E8E;&#x62BD;&#x8C61;&#x8BA9;&#x6211;&#x4EEC;&#x4E3E;&#x4E00;&#x4E2A;&#x5177;&#x4F53;&#x7684;&#x6848;&#x4F8B;&#xFF0C;&#x6765;&#x8BBE;&#x8BA1;&#x4E00;&#x6B3E;&#x6211;&#x4EEC;&#x81EA;&#x5DF1;&#x7684;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x3002;</p>
<h3 id="1&#x63A7;&#x5236;&#x5F00;&#x5173;&#x706F;">1.&#x63A7;&#x5236;&#x5F00;&#x5173;&#x706F;</h3>
<hr>
<p>&#x5047;&#x8BBE;&#x73B0;&#x5728;&#x8981;&#x8BBE;&#x8BA1;&#x4E00;&#x6B3E;&#x667A;&#x80FD;&#x7684;&#x7535;&#x706F;&#xFF0C;&#x5206;&#x6790;&#x4E00;&#x4E0B;&#x5B83;&#x7684;&#x529F;&#x80FD;&#xFF0C;&#x6700;&#x57FA;&#x7840;&#x7684;&#x529F;&#x80FD;&#x5C31;&#x662F;&#x5F00;&#x5173;&#x4E86;&#xFF0C;&#x89C4;&#x5B9A;&#x5F53;&#x6211;&#x53D1;&#x9001;&#x6307;&#x4EE4;1&#x7684;&#x65F6;&#x5019;&#x5C31;&#x6253;&#x5F00;&#x3001;&#x53D1;&#x9001;&#x6307;&#x4EE4;0&#x7684;&#x65F6;&#x5019;&#x5173;&#x95ED;&#x3002;&#x6700;&#x7B80;&#x5355;&#x7684;&#x534F;&#x8BAE;&#x5C31;&#x662F;&#x8FD9;&#x4E2A;&#x6837;&#x5B50;&#xFF1A;</p>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x5F00;&#x706F;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">01</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5F00;&#x5173;</td>
</tr>
</tbody>
</table>
<h3 id="2&#x63A7;&#x5236;&#x591A;&#x76CF;&#x706F;">2.&#x63A7;&#x5236;&#x591A;&#x76CF;&#x706F;</h3>
<hr>
<p>&#x8FD9;&#x6B3E;&#x7535;&#x706F;&#x662F;&#x96C6;&#x4E2D;&#x63A7;&#x5236;&#x7684;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x4E00;&#x4E2A;&#x63A7;&#x5236;&#x5668;&#x8981;&#x540C;&#x65F6;&#x63A7;&#x5236;&#x5F88;&#x591A;&#x76CF;&#x706F;&#xFF0C;&#x90A3;&#x4E48;&#x6211;&#x4EEC;&#x5C31;&#x8981;&#x4E3A;&#x706F;&#x7F16;&#x7801;&#x4E86;&#x3002;0&#x4EE3;&#x8868;&#x6240;&#x6709;&#x7684;&#x706F;&#xFF1B;1&#x4EE3;&#x8868;&#x7B2C;&#x4E00;&#x76CF;&#xFF1B;2&#x4EE3;&#x8868;&#x7B2C;&#x4E8C;&#x76CF;&#x7B49;&#x7B49;&#x2026;&#x2026; &#x4EE5;&#x6B64;&#x7C7B;&#x63A8;&#xFF0C;&#x73B0;&#x5728;&#x534F;&#x8BAE;&#x5C31;&#x53D8;&#x6210;&#x4E86;&#x8FD9;&#x6837;&#xFF1A;</p>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x6253;&#x5F00;&#x7B2C;&#x4E09;&#x76CF;&#x706F;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">03</th>
<th style="text-align:center">01</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5E8F;&#x53F7;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5F00;&#x5173;</td>
</tr>
</tbody>
</table>
<h3 id="3&#x63A7;&#x5236;&#x706F;&#x7684;&#x660E;&#x6697;&#x7A0B;&#x5EA6;">3.&#x63A7;&#x5236;&#x706F;&#x7684;&#x660E;&#x6697;&#x7A0B;&#x5EA6;</h3>
<hr>
<p>&#x8FD9;&#x6B3E;&#x7535;&#x706F;&#x4E0D;&#x4EC5;&#x4EC5;&#x6709;&#x5F00;&#x5173;&#xFF0C;&#x8FD8;&#x80FD;&#x8FDE;&#x7EED;&#x7684;&#x8C03;&#x8282;&#x4EAE;&#x5EA6;&#x3002;&#x90A3;&#x4E48;&#x6211;&#x4EEC;&#x89C4;&#x5B9A;0&#x81F3;100&#x5206;&#x522B;&#x5BF9;&#x5E94;0%&#x5230;100%&#x4EAE;&#x5EA6;&#xFF0C;&#x8FD9;&#x91CC;&#x53C8;&#x9047;&#x5230;&#x4E00;&#x4E2A;&#x95EE;&#x9898;:&#x5982;&#x4F55;&#x533A;&#x5206;&#x4E00;&#x6761;&#x6307;&#x4EE4;&#x662F;&#x8C03;&#x8282;&#x4EAE;&#x5EA6;&#x8FD8;&#x662F;&#x8C03;&#x8282;&#x5F00;&#x5173;&#x5462;&#xFF1F;</p>
<p>&#x4E3A;&#x4E86;&#x533A;&#x5206;&#x8FD8;&#x8981;&#x5B9A;&#x4E49;&#x8FD9;&#x6761;&#x6307;&#x4EE4;&#x7684;&#x529F;&#x80FD;&#x7801;&#xFF1A;01&#x4EE3;&#x8868;&#x8C03;&#x8282;&#x5F00;&#x5173;&#x3001;02&#x4EE3;&#x8868;&#x8C03;&#x8282;&#x4EAE;&#x5EA6;&#xFF0C;&#x73B0;&#x5728;&#x534F;&#x8BAE;&#x5C31;&#x53D8;&#x6210;&#x4E86;&#x8FD9;&#x6837;&#xFF1A;</p>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x6253;&#x5F00;&#x7B2C;&#x4E09;&#x76CF;&#x706F;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">03</th>
<th style="text-align:center">01</th>
<th style="text-align:center">01</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5E8F;&#x53F7;</td>
<td style="text-align:center">&#x8C03;&#x8282;&#x7684;&#x529F;&#x80FD;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5F00;&#x5173;</td>
</tr>
</tbody>
</table>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x5C06;&#x7B2C;&#x4E09;&#x76CF;&#x706F;&#x7684;&#x4EAE;&#x5EA6;&#x8C03;&#x8282;&#x81F3;50%</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">03</th>
<th style="text-align:center">02</th>
<th style="text-align:center">50</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x706F;&#x7684;&#x5E8F;&#x53F7;</td>
<td style="text-align:center">&#x8C03;&#x8282;&#x7684;&#x529F;&#x80FD;</td>
<td style="text-align:center">&#x4EAE;&#x5EA6;&#x8C03;&#x8282;</td>
</tr>
</tbody>
</table>
<h3 id="4&#x8BFB;&#x53D6;&#x5149;&#x7167;&#x4F20;&#x611F;&#x5668;&#x7684;&#x503C;">4.&#x8BFB;&#x53D6;&#x5149;&#x7167;&#x4F20;&#x611F;&#x5668;&#x7684;&#x503C;</h3>
<hr>
<p>&#x7EE7;&#x7EED;&#x589E;&#x52A0;&#x529F;&#x80FD;&#xFF0C;&#x5982;&#x679C;&#x8FD9;&#x5957;&#x63A7;&#x5236;&#x7CFB;&#x7EDF;&#x4E2D;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;&#x5149;&#x7167;&#x4F20;&#x611F;&#x5668;&#xFF0C;&#x63A7;&#x5236;&#x5668;&#x9700;&#x8981;&#x4ECE;&#x4E2D;&#x8BFB;&#x51FA;&#x73B0;&#x5728;&#x7684;&#x73AF;&#x5883;&#x4EAE;&#x5EA6;&#xFF0C;&#x4ECE;&#x800C;&#x5B9E;&#x73B0;&#x5BF9;&#x6240;&#x6709;&#x706F;&#x7684;&#x81EA;&#x52A8;&#x63A7;&#x5236;&#x3002;&#x8FD9;&#x91CC;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x8BFB;&#x7684;&#x6307;&#x4EE4;&#xFF0C;&#x533A;&#x522B;&#x4E8E;&#x4E0A;&#x9762;&#x7684;&#x6307;&#x4EE4;&#x65B0;&#x5B9A;&#x4E49;&#x4E2A;&#x529F;&#x80FD;&#x7801;&#xFF1A;03&#x4EE3;&#x8868;&#x8BFB;&#x53D6;&#x5149;&#x7167;&#x4F20;&#x611F;&#x5668;&#x7684;&#x4EAE;&#x5EA6;&#xFF0C;&#x540C;&#x6837;&#x7528;0-100&#x8868;&#x793A;&#x6700;&#x5C0F;-&#x6700;&#x5927;&#x91CF;&#x7A0B;&#xFF1A;</p>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x8BFB;&#x73AF;&#x5883;&#x4EAE;&#x5EA6;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">05</th>
<th style="text-align:center">03</th>
<th style="text-align:center">00</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x7167;&#x5EA6;&#x4F20;&#x611F;&#x5668;&#x7684;&#x5E8F;&#x53F7;</td>
<td style="text-align:center">&#x8BFB;&#x53D6;&#x529F;&#x80FD;</td>
<td style="text-align:center">&#x8981;&#x8BFB;&#x53D6;&#x503C;&#x7684;&#x5730;&#x5740;</td>
</tr>
</tbody>
</table>
<p>&#x4F20;&#x611F;&#x5668;&#x6536;&#x5230;&#x6570;&#x636E;&#x540E;&#x5C06;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#xFF1A;</p>
<blockquote>
<ul>
<li>&#x6307;&#x4EE4;&#x529F;&#x80FD;&#xFF1A;&#x4F20;&#x611F;&#x5668;&#x8FD4;&#x56DE;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>&#x53D1;&#x9001;&#x6570;&#x636E;&#x5E27;</th>
<th style="text-align:center">05</th>
<th style="text-align:center">03</th>
<th style="text-align:center">80</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x529F;&#x80FD;&#x542B;&#x4E49;</td>
<td style="text-align:center">&#x7167;&#x5EA6;&#x4F20;&#x611F;&#x5668;&#x7684;&#x5E8F;&#x53F7;</td>
<td style="text-align:center">&#x8BFB;&#x53D6;&#x529F;&#x80FD;</td>
<td style="text-align:center">&#x8981;&#x8BFB;&#x53D6;&#x503C;&#x7684;&#x4EAE;&#x5EA6;&#x503C;</td>
</tr>
</tbody>
</table>
<p>&#x4EE5;&#x4E0A;&#x5C31;&#x662F;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x7684;&#x57FA;&#x672C;&#x601D;&#x8DEF;&#xFF0C;&#x50CF;&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x81EA;&#x5DF1;&#x8BBE;&#x8BA1;&#x7684;&#x534F;&#x8BAE;&#x7531;&#x4E8E;&#x4E0D;&#x662F;&#x901A;&#x7528;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;&#x79C1;&#x6709;&#x534F;&#x8BAE;&#x3002;&#x79C1;&#x6709;&#x534F;&#x8BAE;&#x80FD;&#x5B9E;&#x73B0;&#x6211;&#x4EEC;&#x7CFB;&#x7EDF;&#x91CC;&#x60F3;&#x8981;&#x7684;&#x529F;&#x80FD;&#xFF0C;&#x53EA;&#x8981;&#x5728;&#x4E3B;&#x7AD9;&#xFF08;Master&#xFF09;&#x548C;&#x4ECE;&#x7AD9;&#xFF08;Slave&#xFF09;&#x4E4B;&#x95F4;&#x9884;&#x5148;&#x89C4;&#x5B9A;&#x597D;&#x901A;&#x8BAF;&#x7684;&#x89C4;&#x5219;&#x5373;&#x53EF;&#x8FDB;&#x884C;&#x901A;&#x8BAF;&#x3002;</p>
<p>&#x4F46;&#x662F;&#x4ECE;&#x4E0A;&#x9762;&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#xFF0C;&#x7ECF;&#x5E38;&#x4E3A;&#x4E86;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x8BBE;&#x8BA1;&#x4E4B;&#x521D;&#x6CA1;&#x6709;&#x60F3;&#x5230;&#x7684;&#x529F;&#x80FD;&#x5C31;&#x5BFC;&#x81F4;&#x6574;&#x4E2A;&#x534F;&#x8BAE;&#x53D1;&#x751F;&#x5DE8;&#x5927;&#x7684;&#x53D8;&#x5316;&#xFF0C;&#x975E;&#x5E38;&#x4E0D;&#x5229;&#x4E8E;&#x540E;&#x7EED;&#x5347;&#x7EA7;&#xFF0C;&#x800C;&#x4E14;&#x79C1;&#x6709;&#x534F;&#x8BAE;&#x7684;&#x6807;&#x51C6;&#x4E0D;&#x7EDF;&#x4E00;&#xFF0C;&#x5BFC;&#x81F4;&#x4E0D;&#x540C;&#x5382;&#x5BB6;&#x7684;&#x4EA7;&#x54C1;&#x65E0;&#x6CD5;&#x8FDB;&#x884C;&#x901A;&#x8BAF;&#xFF0C;&#x6B64;&#x65F6;&#x6211;&#x4EEC;&#x5C31;&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x901A;&#x7528;&#x7684;&#xFF0C;&#x80FD;&#x5B9E;&#x73B0;&#x5927;&#x90E8;&#x5206;&#x573A;&#x5408;&#x7684;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x3002;</p>
<h2 id="modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x6570;&#x636E;&#x5E27;">Modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x6570;&#x636E;&#x5E27;</h2>
<p>&#x5E26;&#x7740;&#x4E0A;&#x9762;&#x7684;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#xFF0C;&#x6211;&#x4EEC;&#x770B;&#x770B;Modbus&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#x80FD;&#x5426;&#x6EE1;&#x8DB3;&#x6211;&#x4EEC;&#x7684;&#x9700;&#x6C42;&#x3002;</p>
<ul>
<li><strong>RTU&#x6570;&#x636E;&#x5E27;&#xFF1A;</strong>
Modbus&#x6709;&#x4E24;&#x79CD;&#x4E32;&#x884C;&#x901A;&#x8BAF;&#x6A21;&#x5F0F;&#xFF0C;ASCII Mode &#x548C;RTU Mode&#xFF0C;&#x8FD9;&#x91CC;&#x91CD;&#x70B9;&#x4ECB;&#x7ECD;&#x6700;&#x5E38;&#x7528;&#x7684;RTU&#x6A21;&#x5F0F;&#xFF1A;
RTU&#x6A21;&#x5F0F;&#x662F;&#x5C06;&#x6570;&#x636E;&#x76F4;&#x63A5;&#x4EE5;16&#x8FDB;&#x5236;&#x7684;&#x65B9;&#x5F0F;&#x4EE5;&#x4E32;&#x53E3;&#x4F20;&#x8F93;&#xFF0C;&#x4E00;&#x4E2A;&#x5B8C;&#x6574;&#x7684;RTU&#x6570;&#x636E;&#x5E27;&#x5305;&#x542B;&#x4EE5;&#x4E0B;&#x5185;&#x5BB9;&#xFF1A;</li>
</ul>
<blockquote>
<ul>
<li>&#x6570;&#x636E;&#x5E27;&#x683C;&#x5F0F;</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th style="text-align:center">&#x5F00;&#x59CB;</th>
<th style="text-align:center">&#x4ECE;&#x7AD9;&#x5730;&#x5740;</th>
<th style="text-align:center">&#x529F;&#x80FD;&#x7801;</th>
<th style="text-align:center">&#x6570;&#x636E;&#x4F4D;</th>
<th style="text-align:center">CRC&#x6821;&#x9A8C;&#x7801;</th>
<th style="text-align:center">&#x7ED3;&#x675F;</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">4&#x4E2A;&#x5B57;&#x7B26;&#x7A7A;&#x95F2;</td>
<td style="text-align:center">8bits</td>
<td style="text-align:center">8bits</td>
<td style="text-align:center">n x 8bits</td>
<td style="text-align:center">16bits</td>
<td style="text-align:center">4&#x4E2A;&#x5B57;&#x7B26;&#x7A7A;&#x95F2;</td>
</tr>
</tbody>
</table>
<ul>
<li>**&#x5730;&#x5740;&#xFF1A;**&#x4E3A;&#x4E86;&#x533A;&#x5206;&#x4E0D;&#x540C;&#x7684;&#x8BBE;&#x5907;&#x4E3A;&#x6BCF;&#x4E00;&#x4E2A;&#x8BBE;&#x5907;&#x5206;&#x914D;&#x4E86;&#x4E00;&#x4E2A;&#x5730;&#x5740;0-128&#xFF0C;0&#x4EE3;&#x8868;&#x4E3B;&#x7AD9;&#xFF08;Master&#xFF09;&#xFF0C;1-128&#x5206;&#x522B;&#x4EE3;&#x8868;&#x6BCF;&#x4E00;&#x4E2A;&#x4ECE;&#x7AD9;&#xFF08;Slave&#xFF09;&#x3002;</li>
</ul>
<ul>
<li><strong>&#x529F;&#x80FD;&#x7801;&#xFF1A;<strong>&#x65E2;&#x7136;&#x5B9A;&#x4E49;&#x4E86;4&#x7C7B;&#x5BC4;&#x5B58;&#x5668;&#xFF0C;&#x5C31;&#x8981;&#x6709;&#x5BF9;&#x5E94;&#x7684;&#x529F;&#x80FD;&#x7801;&#x6765;&#x64CD;&#x4F5C;&#x5404;&#x4E2A;&#x5BC4;&#x5B58;&#x5668;&#x7684;&#x8BFB;&#x5199;&#xFF0C;&#x6240;&#x4EE5;&#x5C31;&#x6709;4&#x7C7B;&#x529F;&#x80FD;&#x7801;&#x5206;&#x522B;&#x5BF9;&#x5E94;&#x5BC4;&#x5B58;&#x5668;&#x7684;&#x8BFB;&#x5199;&#x64CD;&#x4F5C;&#x3002;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;</strong>&#x5F00;&#x5173;&#x91CF;&#x8F93;&#x5165;&#x5BC4;&#x5B58;&#x5668;</strong>&#x548C;<strong>&#x6A21;&#x62DF;&#x91CF;&#x8F93;&#x5165;&#x5BC4;&#x5B58;&#x5668;</strong>&#x662F;<strong>&#x53EA;&#x8BFB;</strong>&#x5BC4;&#x5B58;&#x5668;&#x4E0D;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x5199;&#x64CD;&#x4F5C;&#x3002;</li>
</ul>
<ul>
<li><strong>&#x6821;&#x9A8C;&#xFF1A;<strong>&#x65E2;&#x7136;&#x662F;&#x901A;&#x7528;&#x7684;&#x901A;&#x8BAF;&#x534F;&#x8BAE;&#xFF0C;&#x5C31;&#x8981;&#x4FDD;&#x8BC1;&#x6570;&#x636E;&#x7684;&#x51C6;&#x786E;&#x6027;&#xFF0C;&#x5982;&#x4F55;&#x4FDD;&#x8BC1;&#x6536;&#x5230;&#x7684;&#x6570;&#x636E;&#x5C31;&#x662F;&#x4E3B;&#x7AD9;&#x53D1;&#x51FA;&#x7684;&#x5462;&#xFF1F;Modbus&#x534F;&#x8BAE;&#x4F7F;&#x7528;&#x7684;&#x662F;</strong>CRC16&#x5FAA;&#x73AF;&#x5197;&#x4F59;&#x6821;&#x9A8C;</strong>&#xFF0C;&#x4E0D;&#x8981;&#x88AB;&#x4ED6;&#x7684;&#x540D;&#x5B57;&#x5413;&#x5230;&#xFF0C;&#x5C31;&#x662F;&#x901A;&#x8FC7;&#x4E00;&#x79CD;&#x7279;&#x5B9A;&#x7684;&#x89C4;&#x5219;&#x8BA1;&#x7B97;&#x751F;&#x6210;&#x7684;&#x6570;&#x636E;&#x5E27;&#xFF0C;&#x628A;&#x8BA1;&#x7B97;&#x7ED3;&#x679C;&#x653E;&#x5728;&#x6700;&#x540E;&#x4E24;&#x4E2A;&#x5B57;&#x8282;&#xFF0C;&#x63A5;&#x6536;&#x65B9;&#x6536;&#x5230;&#x6570;&#x636E;&#x5E27;&#x4E4B;&#x540E;&#x91CD;&#x65B0;&#x8BA1;&#x7B97;&#x4E00;&#x904D;&#xFF0C;&#x4E0E;&#x5E27;&#x7684;&#x6700;&#x540E;&#x4E24;&#x4F4D;&#x505A;&#x6BD4;&#x8F83;&#xFF0C;&#x5982;&#x679C;&#x7ED3;&#x679C;&#x4E00;&#x81F4;&#x8BF4;&#x660E;&#x6536;&#x5230;&#x7684;&#x5E27;&#x662F;&#x5B8C;&#x6574;&#x6B63;&#x786E;&#x7684;&#xFF0C;&#x5426;&#x5219;&#x8BA4;&#x4E3A;&#x6570;&#x636E;&#x5E27;&#x6709;&#x9519;&#x8BEF;&#xFF0C;&#x4E0D;&#x6267;&#x884C;&#x3002;</li>
</ul>
<ul>
<li>**&#x5BC4;&#x5B58;&#x5668;&#xFF1A;**&#x65E2;&#x7136;&#x8981;&#x5B9E;&#x73B0;&#x6240;&#x6709;&#x8BBE;&#x5907;&#x901A;&#x7528;&#xFF0C;&#x5C31;&#x4E0D;&#x80FD;&#x6309;&#x529F;&#x80FD;&#x6765;&#x533A;&#x5206;&#x3002;Modbus&#x5C06;&#x8BBE;&#x5907;&#x8981;&#x901A;&#x8BAF;&#x7684;&#x529F;&#x80FD;&#x62BD;&#x8C61;&#x6210;&#x4E86;&#x5BC4;&#x5B58;&#x5668;&#x3002;&#x5BC4;&#x5B58;&#x5668;&#x5206;&#x4E3A;&#x56DB;&#x7C7B;&#xFF1A;</li>
</ul>
<blockquote>
<ul>
<li>&#x63A7;&#x5236;&#x7535;&#x706F;&#x5F00;&#x5173;&#x72B6;&#x6001;&#x7684;&#xFF0C;&#x7531;&#x4E3B;&#x7AD9;&#x5411;&#x4ECE;&#x7AD9;&#x4E0B;&#x53D1;&#x5F00;&#x5173;&#x91CF;&#x6307;&#x4EE4;&#xFF0C;&#x53EB;&#x505A;<strong>&#x7EBF;&#x5708;&#x72B6;&#x6001;</strong>(Coil Status)&#xFF0C;&#x8FD9;&#x662F;&#x4E2A;&#x7FFB;&#x8BD1;&#x8FC7;&#x6765;&#x7684;&#x540D;&#x5B57;&#x8BF4;&#x7740;&#x5F88;&#x7ED5;&#x5634;&#x800C;&#x4E14;&#x4E0D;&#x4FBF;&#x4E8E;&#x7406;&#x89E3;&#xFF0C;&#x6309;&#x7167;&#x4E2D;&#x6587;&#x7684;&#x4E60;&#x60EF;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;&#x5F00;<strong>&#x5173;&#x91CF;&#x8F93;&#x51FA;&#x5BC4;&#x5B58;&#x5668;</strong>&#x7B80;&#x79F0;<strong>DO</strong>&#xFF08;Digital Output&#xFF09;&#x3002;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>&#x8BFB;&#x53D6;&#x5899;&#x58C1;&#x5F00;&#x5173;&#x72B6;&#x6001;&#x7684;&#xFF0C;&#x7531;&#x4E3B;&#x7AD9;&#x8BFB;&#x53D6;&#x4ECE;&#x7AD9;&#x5F00;&#x5173;&#x91CF;&#x6307;&#x4EE4;&#xFF0C;&#x53EB;&#x505A;<strong>&#x8F93;&#x5165;&#x72B6;&#x6001;</strong>&#xFF08;Input Status&#xFF09;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;<strong>&#x5F00;&#x5173;&#x91CF;&#x8F93;&#x5165;&#x5BC4;&#x5B58;&#x5668;</strong>&#x7B80;&#x79F0;<strong>DI</strong>&#xFF08;Digital Input&#xFF09;&#x3002;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>&#x63A7;&#x5236;&#x7535;&#x706F;&#x660E;&#x6697;&#x7A0B;&#x5EA6;&#x7684;&#xFF0C;&#x7531;&#x4E3B;&#x7AD9;&#x4E0B;&#x53D1;&#x6A21;&#x62DF;&#x91CF;&#x6307;&#x4EE4;&#xFF0C;&#x53EB;&#x505A;<strong>&#x4FDD;&#x6301;&#x5BC4;&#x5B58;&#x5668;</strong>&#xFF08;Holding Registers&#xFF09;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;<strong>&#x6A21;&#x62DF;&#x91CF;&#x8F93;&#x51FA;&#x5BC4;&#x5B58;&#x5668;</strong>&#x7B80;&#x79F0;<strong>AO</strong>&#xFF08;Analog Output&#xFF09;&#x3002;</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>&#x8BFB;&#x53D6;&#x73AF;&#x5883;&#x5149;&#x7167;&#x7A0B;&#x5EA6;&#x7684;&#xFF0C;&#x7531;&#x4E3B;&#x7AD9;&#x8BFB;&#x53D6;&#x6A21;&#x62DF;&#x91CF;&#x6307;&#x4EE4;&#xFF0C;&#x53EB;&#x505A;<strong>&#x8F93;&#x5165;&#x5BC4;&#x5B58;&#x5668;</strong>&#xFF08;Input Registers&#xFF09;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;<strong>&#x6A21;&#x62DF;&#x91CF;&#x8F93;&#x5165;&#x5BC4;&#x5B58;&#x5668;</strong>&#x7B80;&#x79F0;<strong>AI</strong>&#xFF08;Analog Input&#xFF09;&#x3002;</li>
</ul>
</blockquote>
<p>&#x6BCF;&#x4E00;&#x7C7B;&#x5BC4;&#x5B58;&#x5668;&#x7528;&#x4E24;&#x4E2A;&#x5B57;&#x8282;&#x4EE3;&#x8868;&#x5BC4;&#x5B58;&#x5668;&#x7F16;&#x53F7;&#xFF0C;0x0000-0xFFFF&#xFF08;&#x5341;&#x516D;&#x8FDB;&#x5236;&#x8868;&#x793A;&#xFF09;&#x6216;0-65535&#xFF08;&#x5341;&#x8FDB;&#x5236;&#x8868;&#x793A;&#xFF09;&#x3002;</p>
<p><strong>Modbus&#x534F;&#x8BAE;&#x6700;&#x4E3B;&#x8981;&#x7684;&#x4EFB;&#x52A1;&#x5C31;&#x662F;&#x4FDD;&#x8BC1;&#x4E3B;&#x7AD9;&#x4E0E;&#x4ECE;&#x7AD9;&#x5404;&#x4E2A;&#x5BC4;&#x5B58;&#x5668;&#x7684;&#x6570;&#x636E;&#x540C;&#x6B65;</strong></p>
  
	</div>
		<footer class="article-footer clearfix">
<div class="article-catetags">


  <div class="article-tags">
  
  <span></span> <a href="/tags/Modbus-工业控制/">Modbus 工业控制</a>
  </div>

</div>



	<div class="article-share" id="share">
	
	  <div data-url="http://xiaotao.ml/post/modbus/" data-title="Modbus通讯协议简明教程 | xiaotao&#39;s Blog" data-tsina="null" class="share clearfix">
	  </div>
	
	</div>


</footer>

   	       
	</article>
	
<nav class="article-nav clearfix">
 
 <div class="prev" >
 <a href="/post/counter/" title="电容充电计算器">
  <strong>上一篇：</strong><br/>
  <span>
  电容充电计算器</span>
</a>
</div>


<div class="next">
<a href="/post/hello-world/"  title="Hello World">
 <strong>下一篇：</strong><br/> 
 <span>Hello World
</span>
</a>
</div>

</nav>

	
<section id="comments" class="comment">
	<div class="ds-thread" data-thread-key="post/modbus/" data-title="Modbus通讯协议简明教程" data-url="http://xiaotao.ml/post/modbus/"></div>
</section>

<script>
(function(){
    var bp = document.createElement('script');
    bp.src = '//push.zhanzhang.baidu.com/push.js';
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

</div>  
      <div class="openaside"><a class="navbutton" href="#" title="显示侧边栏"></a></div>

  <div id="toc" class="toc-aside">
  <strong class="toc-title">文章目录</strong>
 
 <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#modbus通讯协议简明教程"><span class="toc-number">1.</span> <span class="toc-text">Modbus通讯协议简明教程</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#变更记录"><span class="toc-number">1.1.</span> <span class="toc-text">变更记录</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#简介"><span class="toc-number">1.2.</span> <span class="toc-text">简介</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#设计一款通讯协议"><span class="toc-number">1.3.</span> <span class="toc-text">设计一款通讯协议</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#1控制开关灯"><span class="toc-number">1.3.1.</span> <span class="toc-text">1.控制开关灯</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#2控制多盏灯"><span class="toc-number">1.3.2.</span> <span class="toc-text">2.控制多盏灯</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#3控制灯的明暗程度"><span class="toc-number">1.3.3.</span> <span class="toc-text">3.控制灯的明暗程度</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4读取光照传感器的值"><span class="toc-number">1.3.4.</span> <span class="toc-text">4.读取光照传感器的值</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#modbus通讯协议数据帧"><span class="toc-number">1.4.</span> <span class="toc-text">Modbus通讯协议数据帧</span></a></li></ol></li></ol>
 
  </div>

<div id="asidepart">
<div class="closeaside"><a class="closebutton" href="#" title="隐藏侧边栏"></a></div>
<aside class="clearfix">

  


  

  
<div class="tagslist">
	<p class="asidetitle">标签</p>
		<ul class="clearfix">
		
			
				<li><a href="/tags/Modbus-工业控制/" title="Modbus 工业控制">Modbus 工业控制<sup>1</sup></a></li>
			
		
		</ul>
</div>


  <div class="linkslist">
  <p class="asidetitle">友情链接</p>
    <ul>
        
          <li>
            
            	<a href="http://uidtq.com" target="_blank" title="Uidtq">Uidtq</a>
            
          </li>
        
    </ul>
</div>

  <div class="rsspart">
	<a href="/atom.xml" target="_blank" title="rss">RSS 订阅</a>
</div>

</aside>
</div>
    </div>
    <footer><div id="footer" >
	
	<div class="line">
		<span></span>
		<div class="author"></div>
	</div>
	
	
	<section class="info">
		<p> Hello ,I&#39;m xiaotao. This is my blog on GitHub. <br/>
			This is my blog, believe it or not.</p>
	</section>
	 
	<div class="social-font" class="clearfix">
		
		
		
		
		
		
		
		
		
		
	</div>
			
		

		<p class="copyright">
		Powered by <a href="http://hexo.io" target="_blank" title="hexo">hexo</a> and Theme by <a href="https://github.com/wuchong/jacman" target="_blank" title="Jacman">Jacman</a> © 2016 
		
		<a href="/about" target="_blank" title="xiaotao">xiaotao</a>
		
		
		</p>
</div>
</footer>
    <script src="/js/jquery-2.0.3.min.js"></script>
<script src="/js/jquery.imagesloaded.min.js"></script>
<script src="/js/gallery.js"></script>
<script src="/js/user-js.js"></script>
<script src="http://faisalman.github.io/ua-parser-js/src/ua-parser.js"></script>

<script type="text/javascript">
$(document).ready(function(){ 
  $('.navbar').click(function(){
    $('header nav').toggleClass('shownav');
  });
  var myWidth = 0;
  function getSize(){
    if( typeof( window.innerWidth ) == 'number' ) {
      myWidth = window.innerWidth;
    } else if( document.documentElement && document.documentElement.clientWidth) {
      myWidth = document.documentElement.clientWidth;
    };
  };
  var m = $('#main'),
      a = $('#asidepart'),
      c = $('.closeaside'),
      o = $('.openaside');
  c.click(function(){
    a.addClass('fadeOut').css('display', 'none');
    o.css('display', 'block').addClass('fadeIn');
    m.addClass('moveMain');
  });
  o.click(function(){
    o.css('display', 'none').removeClass('beforeFadeIn');
    a.css('display', 'block').removeClass('fadeOut').addClass('fadeIn');      
    m.removeClass('moveMain');
  });
  $(window).scroll(function(){
    o.css("top",Math.max(80,260-$(this).scrollTop()));
  });
  
        getSize();
        if (myWidth >= 1024) {
          c.click();
        }
  
  $(window).resize(function(){
    getSize(); 
    if (myWidth >= 1024) {
      $('header nav').removeClass('shownav');
    }else{
      m.removeClass('moveMain');
      a.css('display', 'block').removeClass('fadeOut');
      o.css('display', 'none');
      
      $('#toc.toc-aside').css('display', 'none');
        
    }
  });
});
</script>

<script type="text/javascript">
$(document).ready(function(){ 
  var ai = $('.article-content>iframe'),
      ae = $('.article-content>embed'),
      t  = $('#toc'),
      ta = $('#toc.toc-aside'),
      o  = $('.openaside'),
      c  = $('.closeaside');
  if(ai.length>0){
    ai.wrap('<div class="video-container" />');
  };
  if(ae.length>0){
   ae.wrap('<div class="video-container" />');
  };
  c.click(function(){
    ta.css('display', 'block').addClass('fadeIn');
  });
  o.click(function(){
    ta.css('display', 'none');
  });
  $(window).scroll(function(){
    ta.css("top",Math.max(140,320-$(this).scrollTop()));
  });
});
</script>


<script type="text/javascript">
$(document).ready(function(){ 
  var $this = $('.share'),
      url = $this.attr('data-url'),
      encodedUrl = encodeURIComponent(url),
      title = $this.attr('data-title'),
      tsina = $this.attr('data-tsina'),
      description = $this.attr('description');
  var html = [
  '<div class="hoverqrcode clearfix"></div>',
  '<a class="overlay" id="qrcode"></a>',
  '<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="article-share-facebook" target="_blank" title="Facebook"></a>',
  '<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="article-share-twitter" target="_blank" title="Twitter"></a>',
  '<a href="#qrcode" class="article-share-qrcode" title="微信"></a>',
  '<a href="http://widget.renren.com/dialog/share?resourceUrl=' + encodedUrl + '&srcUrl=' + encodedUrl + '&title=' + title +'" class="article-share-renren" target="_blank" title="人人"></a>',
  '<a href="http://service.weibo.com/share/share.php?title='+title+'&url='+encodedUrl +'&ralateUid='+ tsina +'&searchPic=true&style=number' +'" class="article-share-weibo" target="_blank" title="微博"></a>',
  '<span title="Share to"></span>'
  ].join('');
  $this.append(html);
  $('.article-share-qrcode').click(function(){
    var imgSrc = $('#qrcode-pic').attr('data-src');
    $('#qrcode-pic').attr('src', imgSrc);
    $('#qrcode-pic').load(function(){
        $('.qrcode strong').text(' ');
    });
  });
});     
</script>



<script type="text/javascript">
  var duoshuoQuery = {short_name:"zhhangtaao"};
  (function() {
    var ds = document.createElement('script');
    ds.type = 'text/javascript';ds.async = true;
    ds.src = '//xiaotao.ml/embed_ua.js';
    ds.charset = 'UTF-8';
    (document.getElementsByTagName('head')[0] 
    || document.getElementsByTagName('body')[0]).appendChild(ds);
  })();
</script> 





<link rel="stylesheet" href="/fancybox/jquery.fancybox.css" media="screen" type="text/css">
<script src="/fancybox/jquery.fancybox.pack.js"></script>
<script type="text/javascript">
$(document).ready(function(){ 
  $('.article-content').each(function(i){
    $(this).find('img').each(function(){
      if ($(this).parent().hasClass('fancybox')) return;
      var alt = this.alt;
      if (alt) $(this).after('<span class="caption">' + alt + '</span>');
      $(this).wrap('<a href="' + this.src + '" title="' + alt + '" class="fancybox"></a>');
    });
    $(this).find('.fancybox').each(function(){
      $(this).attr('rel', 'article' + i);
    });
  });
  if($.fancybox){
    $('.fancybox').fancybox();
  }
}); 
</script>



<!-- Analytics Begin -->



<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js?e6d1f421bbc9962127a50488f9ed37d1";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>



<!-- Analytics End -->

<!-- Totop Begin -->

	<div id="totop">
	<a title="返回顶部"><img src="/img/scrollup.png"/></a>
	</div>
	<script src="/js/totop.js"></script>

<!-- Totop End -->

<!-- MathJax Begin -->
<!-- mathjax config similar to math.stackexchange -->


<!-- MathJax End -->

<!-- Tiny_search Begin -->

<!-- Tiny_search End -->


  </body>
</html>
